package com.yupi.yupicturebackend.model.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 搜索历史实体
 *
 * @author yupi
 */
@TableName(value = "search_history")
@Data
public class SearchHistory implements Serializable {

    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 搜索查询
     */
    private String query;

    /**
     * 搜索类型 (text, image, semantic, voice)
     */
    private String searchType;

    /**
     * 搜索意图 (JSON格式)
     */
    private String searchIntent;

    /**
     * 搜索结果数量
     */
    private Integer resultCount;

    /**
     * 搜索耗时（毫秒）
     */
    private Long searchTime;

    /**
     * 点击的结果ID列表 (JSON格式)
     */
    private String clickedResults;

    /**
     * 搜索来源 (web, mobile, api)
     */
    private String source;

    /**
     * IP地址
     */
    private String ipAddress;

    /**
     * 用户代理
     */
    private String userAgent;

    /**
     * 搜索参数 (JSON格式)
     */
    private String searchParams;

    /**
     * 是否找到结果
     */
    private Boolean hasResults;

    /**
     * 用户满意度评分
     */
    private Integer satisfactionScore;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否删除
     */
    @TableLogic
    private Integer isDelete;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
